package com.jinmdz.fmis.dao.model.cremation;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.constant.EDictCode;
import com.jinmdz.fmis.dao.base.BaseItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 火化证打印
 *
 * @author GuanKui
 * @date 2020/2/19 15:38
 */
@ApiModel(value = "火化证打印", description = "火化证打印")
public class CremationCertificatePrintingHistoryItem extends BaseItem {
    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 1)
    private String businessCode;

    /**
     * 逝者家属外键
     */
    @ApiModelProperty(value = "逝者家属外键", name = "memberId", position = 2)
    @JsonIgnore
    private Integer memberId;

    /**
     * 家属姓名
     */
    @ApiModelProperty(value = "家属姓名", name = "memberName", position = 3)
    private String memberName;

    /**
     * 家属性别编码
     */
    @ApiModelProperty(value = "家属性别编码", name = "memberGenderCode", position = 4)
    @JsonIgnore
    private Integer memberGenderCode;

    /**
     * 家属性别
     */
    @ApiModelProperty(value = "家属性别", name = "memberGender", position = 5)
    @AnDict(dict = EDictCode.SEX, ref = "memberGenderCode")
    private String memberGender;

    /**
     * 证件类型编码
     */
    @ApiModelProperty(value = "证件类型编码", name = "certificateTypeCode", position = 6)
    @JsonIgnore
    private Integer certificateTypeCode;

    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型", name = "certificateType", position = 7)
    @AnDict(dict = EDictCode.CERTIFICATES, ref = "certificateTypeCode")
    private String certificateType;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码", name = "certificateNo", position = 8)
    private String certificateNo;

    /**
     * 与逝者关系文本
     */
    @ApiModelProperty(value = "与逝者关系文本", name = "memberRelation", position = 9)
    private String memberRelation;

    /**
     * 手机号码
     */
    @ApiModelProperty(value = "手机号码", name = "mobilePhone", position = 10)
    private String mobilePhone;

    /**
     * 其他电话
     */
    @ApiModelProperty(value = "其他电话", name = "otherPhone", position = 11)
    private String otherPhone;

    /**
     * 联系地址
     */
    @ApiModelProperty(value = "联系地址", name = "address", position = 12)
    private String address;

    /**
     * 原火化证号
     */
    @ApiModelProperty(value = "原火化证号", name = "cremationOldNo", position = 13)
    private String cremationOldNo;

    /**
     * 新火化证号
     */
    @ApiModelProperty(value = "新火化证号", name = "cremationNewNo", position = 14)
    private String cremationNewNo;

    /**
     * 操作类型编码
     */
    @ApiModelProperty(value = "操作类型编码", name = "operationTypeCode", position = 15)
    @JsonIgnore
    private Integer operationTypeCode;

    /**
     * 操作时间
     */
    @ApiModelProperty(value = "操作时间", name = "operationTime", position = 16)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date operationTime;

    /**
     * 操作原因
     */
    @ApiModelProperty(value = "操作原因", name = "operationCause", position = 17)
    private String operationCause;

    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型", name = "operationType", position = 18)
    @AnDict(dict = EDictCode.CREMATION_CERTIFICATE_PRINTING_OPERATION_TYPE, ref = "operationTypeCode")
    private String operationType;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", name = "remark", position = 19)
    private String remark;


    public String getBusinessCode() {
        return businessCode;
    }

    public CremationCertificatePrintingHistoryItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public Integer getMemberId() {
        return memberId;
    }

    public CremationCertificatePrintingHistoryItem setMemberId(Integer memberId) {
        this.memberId = memberId;
        return this;
    }

    public String getMemberName() {
        return memberName;
    }

    public CremationCertificatePrintingHistoryItem setMemberName(String memberName) {
        this.memberName = memberName;
        return this;
    }

    public Integer getMemberGenderCode() {
        return memberGenderCode;
    }

    public CremationCertificatePrintingHistoryItem setMemberGenderCode(Integer memberGenderCode) {
        this.memberGenderCode = memberGenderCode;
        return this;
    }

    public Integer getCertificateTypeCode() {
        return certificateTypeCode;
    }

    public CremationCertificatePrintingHistoryItem setCertificateTypeCode(Integer certificateTypeCode) {
        this.certificateTypeCode = certificateTypeCode;
        return this;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public CremationCertificatePrintingHistoryItem setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
        return this;
    }

    public String getMemberRelation() {
        return memberRelation;
    }

    public CremationCertificatePrintingHistoryItem setMemberRelation(String memberRelation) {
        this.memberRelation = memberRelation;
        return this;
    }

    public String getMobilePhone() {
        return mobilePhone;
    }

    public CremationCertificatePrintingHistoryItem setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
        return this;
    }

    public String getOtherPhone() {
        return otherPhone;
    }

    public CremationCertificatePrintingHistoryItem setOtherPhone(String otherPhone) {
        this.otherPhone = otherPhone;
        return this;
    }

    public String getAddress() {
        return address;
    }

    public CremationCertificatePrintingHistoryItem setAddress(String address) {
        this.address = address;
        return this;
    }

    public String getCremationOldNo() {
        return cremationOldNo;
    }

    public CremationCertificatePrintingHistoryItem setCremationOldNo(String cremationOldNo) {
        this.cremationOldNo = cremationOldNo;
        return this;
    }

    public String getCremationNewNo() {
        return cremationNewNo;
    }

    public CremationCertificatePrintingHistoryItem setCremationNewNo(String cremationNewNo) {
        this.cremationNewNo = cremationNewNo;
        return this;
    }

    public Integer getOperationTypeCode() {
        return operationTypeCode;
    }

    public CremationCertificatePrintingHistoryItem setOperationTypeCode(Integer operationTypeCode) {
        this.operationTypeCode = operationTypeCode;
        return this;
    }

    public Date getOperationTime() {
        return operationTime;
    }

    public CremationCertificatePrintingHistoryItem setOperationTime(Date operationTime) {
        this.operationTime = operationTime;
        return this;
    }

    public String getOperationCause() {
        return operationCause;
    }

    public CremationCertificatePrintingHistoryItem setOperationCause(String operationCause) {
        this.operationCause = operationCause;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public CremationCertificatePrintingHistoryItem setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    public String getCertificateType() {
        return certificateType;
    }

    public CremationCertificatePrintingHistoryItem setCertificateType(String certificateType) {
        this.certificateType = certificateType;
        return this;
    }

    public String getOperationType() {
        return operationType;
    }

    public CremationCertificatePrintingHistoryItem setOperationType(String operationType) {
        this.operationType = operationType;
        return this;
    }

    public String getMemberGender() {
        return memberGender;
    }

    public CremationCertificatePrintingHistoryItem setMemberGender(String memberGender) {
        this.memberGender = memberGender;
        return this;
    }

}
